package modele;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;


import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;


public class ModeleSauvegarde 
{
	private final Element root;
	private Vector<ModeleClasse> listeClasse;
	//nom de la classe
	private Document doc;
	
	public ModeleSauvegarde(Vector<ModeleClasse> vc) 
	{

		this.root = new Element("classes");
		this.doc = new Document(root);
		this.listeClasse = vc;
		
	}
	
	
	public void sauvegarder(String urlFichier) throws IOException
	{
		
			File f = new File(urlFichier);
			XMLOutputter op = new XMLOutputter(Format.getPrettyFormat());
			FileOutputStream ou = new FileOutputStream(f);
			Element eTemp;
			
			for(int i = 0 ; i < listeClasse.size();i++)
			{
				@SuppressWarnings("unchecked")
				List<Element> listElement = listeClasse.get(i).getDoc().getContent();
				Iterator<Element> it = listElement.iterator();
				System.out.println("taille de listElement "+listElement.size());
				//On copie l'arborescence
				List<Element> listCopie = listeClasse.get(i).getDoc().cloneContent();
				System.out.println("size de listCopie"+listCopie.size());
				this.root.addContent(listCopie);		
			}
			op.output(this.doc,ou);
		}
	
}